import request from "@/utils/request";

export type AddCartParams={
    userid: string;
    proid: string;
    num: number;
}

/**
 * 将商品添加到购物车
 * @param data 相关参数参数
 * @returns 
 */
export function addCart(data:AddCartParams){
    return request({
        url:"/api/cart/add",
        method:"POST",
        data,
    })
}

/**
 * 获取购物车列表数据
 * @param userid 用户id
 * @returns 
 */
export function getCarList(userid:string){
    return request({
        url:"/api/cart/list",
        method:"POST",
        data:{
            userid,
        }
    })
}

/**
 * 更新购物车某个商品的勾选状态
 * @param cartid 购物车Id
 * @param flag 是否勾选
 * @returns 
 */
export function updateChecked(cartid:string,flag:boolean){
    return request({
        url:"/api/cart/selectone",
        method:"POST",
        data:{
            cartid,
            flag,
        }
    })
}

/**
 * 更新购物车某个商品的数量
 * @param cartid 购物车Id
 * @param num 数量
 * @returns 
 */
export function updateNum(cartid:string,num:number){
    return request({
        url:"/api/cart/updatenum",
        method:"POST",
        data:{
            cartid,
            num,
        }
    })
}

/**
 * 更新购物车商品的全选(勾选)状态
 * @param userid 用户id
 * @param type 状态
 * @returns 
 */
export function updateCheckedAll(userid:string,type:boolean){
    return request({
        url:"/api/cart/selectall",
        method:"POST",
        data:{
            userid,
            type
        }
    })
}

/**
 * 删除单个商品
 * @param cartid 购物车id
 * @returns 
 */
export function deleteProduct(cartid:string){
    return request({
        url:"/api/cart/remove",
        method:"POST",
        data:{
            cartid
        }
    })
}

